import wx

from 桌面.wxPython案例.对话框.自定义一个对话框 import MyDialog


# 自定义窗口类
class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super().__init__(parent, title=title, size=(300, 200))
        # 创建一个面板
        panel = wx.Panel(self)
        # 创建一个横向的盒子布局管理器
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        # 给面板设置布局管理器
        panel.SetSizer(hbox)

        # 创建一个按钮
        button = wx.Button(panel, label="点击我")
        # 将按钮添加到布局管理器中
        hbox.Add(button, 0, wx.ALIGN_CENTER | wx.ALL, 10)

        # 绑定按钮事件
        button.Bind(wx.EVT_BUTTON, self.on_button_click)

    # 按钮点击事件处理函数
    def on_button_click(self, event):
        # 创建一个对话框
        # dialog = wx.MessageDialog(self, "你点击了按钮！", "提示", wx.OK | wx.ICON_INFORMATION)
        # dialog.ShowModal()

        # 自定义一个对话框
        my_dialog = MyDialog(self, "自定义对话框")
        # my_dialog.ShowModal() # 显示对话框，模态对话框
        # 以非模态方式显示对话框
        my_dialog.Show() # 显示对话框，非模态对话框









if __name__ == "__main__":
    # 创建一个应用程序
    app = wx.App()
    # 创建一个窗口
    frame = MyFrame(None, title="Hello, wxPython!")
    # 显示窗口
    frame.Show()
    # 运行应用程序
    app.MainLoop()
